package com.nt.thah.utils;

import org.apache.commons.lang3.StringUtils;

import java.util.Random;
import java.util.UUID;

/**
 * @Description: 字符串工具类
 * @author: ls
 * @date: 2020/7/20 15:52
 */
public class StringUtil {

    /**
     * @Description: 根据长度截取字符串
     * @author: ls
     * @Date: 2020/7/20 16:02
     */
    public static String subStr(String str, int length) throws RuntimeException {
        if (str.length() >= length) {
            return str.substring(0, length) + "...";
        }
        return str;
    }

    /**
     * @Description： 左边脱敏
     * @Author: ls
     * @Date: 2020/12/18 3:11 下午
     */
    public static String desensitizeRight(String str, int index) {
        if (StringUtils.isBlank(str)) {
            return "";
        }
        String name = StringUtils.left(str, index);
        return StringUtils.rightPad(name, StringUtils.length(str), "*");
    }

    /**
     * @Description： 前后脱敏
     * @Author: ls
     * @Date: 2020/12/18 3:11 下午
     */
    public static String desensitizeAround(String str, int index, int end) {
        String s = "***";
        if (StringUtils.isBlank(str)) {
            return "";
        }
        return StringUtils.left(str, index).concat(StringUtils.removeStart(StringUtils.leftPad(StringUtils.right(str, end), StringUtils.length(str), "*"), s));
    }

    /**
     * @Description： 右边脱敏
     * @Author: ls
     * @Date: 2020/12/18 3:11 下午
     */
    public static String desensitizeLeft(String str, int end) {
        if (StringUtils.isBlank(str)) {
            return "";
        }
        return StringUtils.leftPad(StringUtils.right(str, end), StringUtils.length(str), "*");
    }

    /**
     * @Description： 获取随机字符串
     * @Author: ls
     * @Date: 2021/4/26 2:24 下午
     */
    public static String getRandomStr() {
        return UUID.randomUUID().toString().replaceAll("-","").toString();
    }

}
